package com.shujia.core

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.rdd.RDD

object Demo06Filter {
  def main(args: Array[String]): Unit = {
    // 创建Spark Context
    val conf: SparkConf = new SparkConf()
    conf.setAppName("Demo06Filter")
    conf.setMaster("local")

    val sc: SparkContext = new SparkContext(conf)

    // 构建RDD 通过Scala中的集合构建
    val intRDD: RDD[Int] = sc.parallelize(List(1, 2, 3, 4, 5, 6, 7))

    // 将RDD中的所有的奇数过滤出来
    /**
     * filter 转换算子
     * 可以实现对RDD中的数据进行过滤
     * 需要一个函数f
     * 函数f的返回值必须是Boolean类型
     * 如果为true 则保留数据
     * 如果为false 则过滤数据
     */
    val filterRDD: RDD[Int] = intRDD
      //      .filter(i => {
      //        if (i % 2 == 1) {
      //          true
      //        } else {
      //          false
      //        }
      //      })
      // 简写
      .filter(_ % 2 == 1)

    filterRDD.foreach(println)

  }

}
